<?php

/**
 * [smarty_block_user 调取用户的标签]
 * @param  [type] $params  [传递参数比如：rows=3]
 * @param  [type] $content [标签中间包裹的内容]
 * @param  [type] &$smarty [smarty对象]
 * @return [type]          [description]
 */
function smarty_block_user($params, $content, &$smarty)
{
    //用户有可能传递rows，也有可能不传递,不传递就是要获得全部的数据
    $rows = isset($params['rows']) ? $params['rows'] : NULL;
    if($rows){
        $sql = "SELECT * FROM user LIMIT {$rows}"; 
    }else{
        $sql = "SELECT * FROM user"; 
    }
    //获得用户的数据
    $data = query($sql);
    $str = '';
    //循环用户的数据
    foreach ($data as $u) {
        //每次循环赋值给一个临时变量
        $temp = $content;
        //把[$field.uid]和[$field.username]这些全部替换成相对应的值
        foreach ($u as $f => $v) {
           $temp = str_replace("[\$field.{$f}]", $v, $temp);
        }
        //最后把替换完成之后的结果 连接
        $str .= $temp;
    }
    return $str;
}

//$u
// Array
// (
//     [uid] => 1
//     [username] => admin
//     [password] => 21232f297a57a5a743894a0e4a801fc3
// )


//html中的写法
// {{user rows=3}}
//     <tr>
//         <td>[$field.uid]</td>
//         <td>[$field.username]</td>
//     </tr>
// {{/user}}








